﻿import type { ConsultType } from "@/enums";
import type { ConsultIllness, PartialConsult } from "@/types/consult";
import { defineStore } from "pinia";
import { ref } from "vue";

export const useConsultStore = defineStore('cp-consult',()=>{
    const consult=ref<PartialConsult>({})
     // 定义修改数据的方法
  // 因为每到一个页面 就收集一点点信息 所以需要准备挺多修改数据的方法
  // 收集用户到底在首页选择了  问医生1 极速问诊2 开药门诊3    枚举ConsultType
    const setType=(type:ConsultType)=>{
        consult.value.type=type

    }

    //收集用户到底选择了 三甲1 普通0  没有枚举就是联合

    const setIllessType=(illnessType:0|1)=>{
        consult.value.illnessType=illnessType
    }


    //收集用户选择的科室id
    const setDepId=(depId:string)=>{
        consult.value.depId=depId
    }

    //收集用户的描述  时间  就诊  图片
    const setIllness=(obj:ConsultIllness)=>{
        consult.value.illnessDesc=obj.illnessDesc
        consult.value.illnessTime=obj.illnessTime
        consult.value.consultFlag=obj.consultFlag
        consult.value.pictures=obj.pictures
    }

    //收集患者id
    const setPatientId=(patientId:string)=>{
        consult.value.patientId=patientId
    }


    //支付完成 清空数据
    const clearConsult=()=>{
        consult.value={}
    }

     // 收集优惠券id
    const setCouponId = (couponId: string) => {
      consult.value.couponId = couponId
    }


    return {
        consult,
        setType,
        setIllessType,
        setDepId,
        setIllness,
        setPatientId,
        clearConsult,
        setCouponId
    }
},{
    persist:true
}
)